package boxuegu.com.boxuegu2;

import android.content.Intent;
import android.content.SharedPreferences;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.Toast;

import boxuegu.com.boxuegu2.utils.SPreadWrite;
import boxuegu.com.boxuegu2.view.BottomBar;
import boxuegu.com.boxuegu2.view.CourseView;
import boxuegu.com.boxuegu2.view.TitleBar;

public class MainActivity extends AppCompatActivity {
    private LinearLayout main_bottom_bar;
    private long exitTime=0;//保存第一次按键的时间
    BottomBar bottomBar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        //到主界面发起跳转（回跳机制）到登录界面，登录界面处理完毕后，返回主界面自动执行该方法
        if(data!=null){
            if(requestCode==8888){
                //这个条件成立表示：前面我发起了跳转到登录界面的请求，登录界面处理完毕后
                //要做这么几个工作
                //1、设置登录状态，保存到sp文件,这个工作在回跳回来前的登录界面上已经完成
                //2、要将我界面图片下面显示用户名p92
                if(data.getBooleanExtra("isLogin",false)){
                    //表示登录界面跳转过来前已经登录成功
                    bottomBar.setUserName(data.getStringExtra("userName"));
                }
            }
        }
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        //keyCode:用户按得键的代码
        //event：用户按键事件（按下去，松开）
        if(keyCode==KeyEvent.KEYCODE_BACK&&event.getAction()==KeyEvent.ACTION_DOWN){
            //不管当前是第几次按返回键，反正用当前时间和exitTime来比较，如果大于2000则表示当前为第一次按键
            long currentTime=System.currentTimeMillis();
            if(currentTime-exitTime>2000){
                //这个条件成立，则表示为第一次按键
                Toast.makeText(this,"再按一次退出博学谷",Toast.LENGTH_LONG).show();
                exitTime=currentTime;
            }else{
                MainActivity.this.finish();
                //要到sp文件中将登录状态清除
                if(SPreadWrite.readLoginStatus(this)){
                    SPreadWrite.clearLoginStatus(this);
                }
                System.exit(0);
            }
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

    private void init(){
        main_bottom_bar=findViewById(R.id.main_bottom_bar);
        bottomBar=new BottomBar(this);
        main_bottom_bar.addView(bottomBar.getView());
    }


    @Override
    protected void onDestroy() {
        SPreadWrite.clearLoginStatus(this);
        super.onDestroy();
    }
}
